Игровой искусственный интеллект

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «Игровой ИИ»)

Игровой искусственный интеллект (англ. Game artificial intelligence) — набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИИ, помимо методов традиционного искусственного интеллекта, включает также алгоритмы теории управления, робототехники, компьютерной графики и информатики в целом.

Реализация ИИ сильно влияет на геймплей, системные требования и бюджет игры, и разработчики балансируют между этими требованиями, стараясь сделать интересный и нетребовательный к ресурсам ИИ малой ценой. Поэтому подход к игровому ИИ серьёзно отличается от подхода к традиционному ИИ — широко применяются разного рода упрощения, обманы и эмуляции. Например: с одной стороны, в шутерах от первого лица безошибочное движение и мгновенное прицеливание, присущее ботам, не оставляет ни единого шанса человеку, так что эти способности искусственно снижаются. С другой стороны — боты должны делать засады, действовать командой и т. д., для этого применяются «костыли» в виде контрольных точек, расставленных на уровне.

Цитата

Главная задача ИИ — не выиграть у игрока, а красиво ему отдаться.

Тимур Бухараев, Nival[1]

Персонажей компьютерных игр, управляемых игровым искусственным интеллектом, делят на:

  • неигровые персонажи (англ. Non-player character, NPC) — как правило, эти персонажи являются дружественными или нейтральными к человеческому игроку.
  • боты (англ. Bot) — враждебные к игроку персонажи, приближающиеся по возможностям к игровому персонажу; против игрока в любой конкретный момент сражаются небольшое количество ботов. Боты наиболее сложны в программировании.
  • мобы (англ. Mob) — враждебные к игроку «низкоинтеллектуальные» персонажи. Мобы убиваются игроками в больших количествах ради очков опыта, артефактов или прохождения территории.
  • Нейросеть — непосредственно сам ИИ. Стал применяться совсем недавно, с бурным развитием искусственного интеллекта. В отличие от компьютерных "болавнчиков-ботов" которые лишь запрограммированы на определенные действия или имитацию игрока, нейросеть способна мыслить, принимать решения, динамически менять обстановку по ходу игры, а значит вплотную приближается к человеку-игроку или даже превосходит его. Также нейросеть способна на обучение, а это значит, что в игре не будет одинаково повторяющихся ситуаций, которые всегда бывают с ботами. Однако это свойство переходит и в недостаток, когда нейросеть значительно обыгрывает живого соперника по мере роста знаний о игре, как это было например в Dota 2 c участием нейросети OpenAI, которая в конце концов обыгрывала живых игроков в 98-99% случаев[2].

История

Изначально компьютерные игры и игровой процесс находились в области исследований различных учёных. В 1951 году, используя Ferranti Mark I[en], первый в мире доступный для покупки компьютер, в Манчестерском университете Кристофер Стрэчи[en] написал программу, которая играла в шашки, а Дитрих Принц[en] написал программу для шахмат[3]. Это были одни из первых компьютерных программ, когда-либо написанных. Симулятор шашек, разработанный Артуром Самуэлем в середине 50-х и начале 60-х годов, в конечном счёте достиг достаточного мастерства, чтобы бросить вызов чемпиону мира[4]. Работа над компьютерными шашками и шахматами достигла кульминации в 1997 году, когда компьютер Deep Blue выиграл матч по шахматам у чемпиона мира Гарри Каспарова с третьего раза[5].

Обобщением подобных программ являются универсальные игровые программы, способные выступить партнёром в целом ряде логических игр, правила которых должны быть описаны на специальном декларативном языке, пример коммерческой реализации подобного подхода — игра Zillions of Games.

Первые компьютерные игры, разработанные в 1960-х и начале 1970-х годов, такие как Spacewar!, Pong и Gotcha (1973), были играми, построенными на дискретной логике и строго ориентированными на соревновании (сражении) двух игроков без ИИ.

Игры, в которых присутствовал однопользовательский режим и компьютерные соперники, начали появляться в 1970-х годах. Первыми заметными играми были аркады Qwak (охота на уток) и Pursuit (симулятор драки). Две текстовые компьютерные игры 1972 года выпуска, Охота на Вампуса (англ. Hunt the Wumpus) и Star Trek, также предоставляли компьютерных соперников. Движение врагов было основано на заранее сохранённых шаблонах.

Персонаж на световом мотоцикле участвует в гонке в игре GLtron

В аркадной игре 1978 года выпуска Space Invaders присутствовал изменяемый уровень сложности, отчётливые шаблоны движения и внутриигровые события, зависящие от хеш-функций, основанных на вводе игрока. Аркадный шутер Galaxian (1979) содержал более сложные и различные движения врагов.

Популярная аркада Pac-Man (1980) применяла эти шаблоны к игровому лабиринту, а также добавляла различия для каждого врага. Karate Champ (1984) добавляла аналогичные шаблоны поведения к файтингам, хотя плохой игровой ИИ подтолкнул выпуск второй версии игры.

Игры типа Madden Football, Earl Weaver Baseball и Tony La Russa Baseball строили свой ИИ на попытке дублировать на компьютере тренировку или менеджмент выбранной знаменитости. Группы разработчиков игр Madden, Weaver и La Russa проделали обширную работу, чтобы максимизировать точность этих игр. Более поздние спортивные игры позволяли пользователям «настраивать, тюнинговать» переменные в игровом ИИ для создания определяемой игроком организаторской или тренировочной стратегии.

Появление новых игровых жанров в 1990-х годах простимулировало использование таких формальных инструментальных средств искусственного интеллекта, как конечные автоматы (en:finite state machines). Стратегии реального времени (англ. RTS) ставили перед игровым искусственным интеллектом многие новые задачи: неполная информированность, нахождение пути, приём решений в реальном времени и экономическое планирование[6]. У первых игр этого жанра были известные проблемы. Например, в одной из первых стратегий Herzog Zwei был почти нарушен поиск пути, а в Dune II были нарушены очень важные конечные автоматы с тремя состояниями для управления юнитов, вследствие чего компьютерные противники функционировали неправильно. Последующие игры в жанре имели много лучший игровой ИИ.

Более поздние игры использовали недетерминированные методы искусственного интеллекта, в пределах от первого использования нейронных сетей в игре 1996 года Battlecruiser 3000AD до непредсказуемого поведения и оценке действий игрока в таких играх, как Creatures[en] и Black & White.

GoldenEye 007 (1997) был одним из первых шутеров от первого лица, в котором игровые боты реагировали на движения и действия игрока, а также использовали укрытия и выполняли перекаты во избежание попадания в них. Боты также были способны бросать ручные гранаты в подходящее время. Позже создатели этой игры улучшили игровой ИИ в игре Perfect Dark. Важным изъяном игрового ИИ в обоих играх было то, что боты всегда знали точное местонахождение игрока, даже если ни один из них не видел его.

Halo (2001) содержал игровой ИИ, который мог использовать транспортные средства и имел базовые принципы командных действий. Боты могли распознавать такие угрозы, как брошенные гранаты и наступающие вражеские транспортные средства, и соответственно могли перемещаться из опасной зоны, создаваемой этими угрозами.

Шутер от первого лица Far Cry (2004) показывал очень продвинутый игровой ИИ для своего времени, хотя и не без ошибок. Враги могли реагировать на стиль игры игрока и пытались по возможности окружить его. В борьбе с игроком боты использовали реальные военные тактики. Враги не имели «читерского» ИИ в том смысле, что они не знали точное месторасположение игрока, а лишь действовали в соответствии с позицией, которую они запоминали.

Значимый вклад в развитие игрового ИИ привнёс шутер от первого лица F.E.A.R., выпущенный компанией Monolith Productions в 2005 году. На своё время он содержал очень «продвинутый» ИИ, который был встречен очень положительно всеми игровыми рецензентами и аналитиками. Бои в игре происходят в закрытых помещениях; боты работают в команде, используют окружение в качестве укрытия, применяют к игроку различные тактики в зависимости от ситуации, штурмуют, отходят, вызывают подкрепления, используют гранаты для «выкуривания» игрока, адекватно реагируют на гранаты, брошенные игроком[7].

Компьютерная ролевая игра The Elder Scrolls IV: Oblivion использовала достаточно сложный игровой ИИ для неигровых персонажей. Заявлено, что неигровые персонажи имеют график формата 24/7 и следуют своим собственным целям собственными путями, однако иногда можно наблюдать, как неигровой персонаж стоит на одном месте несколько часов подряд (бармен за стойкой ночью в отсутствии посетителей). Да, они едят, спят и исполняют свои каждодневные обязанности. События, случающиеся в игре, могут изменить их распорядок дня и поведение. Они могут измениться из хорошего городского населения до смертельных убийц.

Компьютерная ПК-эксклюзивная игра S.T.A.L.K.E.R.: Тень Чернобыля, вышедшая в марте 2007 года, имела довольно сложный игровой ИИ, который разработчики называли «A-Life». Эта система начала разрабатываться с 2002 года, однако в финальной версии игры большая часть особенностей «A-Life» была «вырезана». Частично «A-Life» был доработан в игре «S.T.A.L.K.E.R.: Чистое небо» 2008 года выпуска. Более подробно о игровом ИИ в этих играх можно узнать здесь[8].

Сетевой кооперативный шутер от первого лица Left 4 Dead (2008) использует новую систему игрового ИИ под названием «Режиссёр» (англ. The Director)[9]. «Режиссёр» используется для процедурного генерирования различного игрового опыта (experience) для игроков при каждом запуске игры. Разработчики игры называют способ, согласно которому работает Режиссёр, «процедурным нарративом». Вместо строго установленных и статических уровней сложности «Режиссёр» анализирует действия и «степень выживания» игроков и в соответствии с этим динамически добавляет последующие события, делая игру интересной, но также и проходимой. Тем не менее, наряду с «Режиссёр» в игре присутствуют и уровни сложности, которые влияют на стойкость и степень повреждений игровых персонажей[10][11].

Игровой искусственный интеллект продолжает развиваться с целью достичь такого уровня, чтобы игрок был неспособен отличить компьютерного соперника от человеческого.

Взгляды

Некоторые игровые программисты рассматривают любую методику, которая используется для создания иллюзии интеллекта, как часть игрового ИИ. Однако этот взгляд является спорным, так как он включает методики, которые широко используются вне движка игрового ИИ. Например, информация о потенциальных будущих столкновениях является важной вводимой информацией в алгоритмы, которые помогают создавать ботов, которые будут достаточно умными для избегания столкновений с объектами. Но те же самые методики определения столкновений являются необходимым и одним из самых важных компонентов физического движка. Точно так же результаты испытательного направления взгляда (взора) бота (en:Line of sight (gaming)) обычно являются важными вводными данными в систему прицеливания бота; вместе с тем эти данные широко используются при рендеринге в графическом движке. Финальным примером является скриптинг, который может быть удобным инструментом для всех аспектов игровой разработки, однако часто сильно ассоциируется с контролированием поведения неигровых персонажей.

Пуристы считают, что выражение «искусственный интеллект» в термине «игровой искусственный интеллект» является преувеличением, поскольку игровой ИИ описывает не интеллект и использует немногие из направлений академической науки «Искусственный интеллект». Принимая во внимания, что «реальный» ИИ обращается к отраслям самообучающихся систем и принятии решений, которые базируются на произвольном вводе данных, и даже к окончательной цели «сильного» ИИ, который может рассуждать, игровой ИИ часто состоит из нескольких эмпирических правил и эвристики, которых достаточно, чтобы предоставить игроку хороший геймплей, ощущения и впечатления от игры.

Увеличение понимания академического ИИ разработчиками игр и растущий интерес академического сообщества к компьютерным играм вызывает вопрос, насколько и в какой степени игровой ИИ отличается от классического. Однако существенные различия между различными прикладными областями искусственного интеллекта означают, что игровой ИИ всё ещё может быть рассмотрен как отдельная под-отрасль ИИ. В частности, способность «законным» образом решить некоторые проблемы ИИ в играх через обман создаёт важное различие. Например, выведение позиции невидимого объекта из прошлых наблюдений может быть трудной проблемой, когда ИИ применён к робототехнике, но в компьютерных играх неигровой персонаж может просто искать позицию в игровом графе (en:Scene graph). Такой обман может привести к нереалистичному поведению и поэтому не всегда желателен. Но его способность служит для различения игрового ИИ приводит к новым проблемам, таким, как когда и как использовать обман.

Использование

В компьютерных симуляциях настольных игр:

В современных видеоиграх

Игровой ИИ/эвристические алгоритмы используются в широком спектре разнообразных областей внутри игры. Самым очевидным является управление неигровыми персонажами в игре, хотя "скриптинг" (дерево решений) в настоящее время является наиболее распространенным средством управления.[12] Эти написанные вручную деревья решений часто приводят к "искусственной глупости", такой как повторяющееся поведение, потерю погружения или аномальное поведение в ситуациях, не предусмотренных разработчиками.[13]

Поиск пути, другое распространенное использование для ИИ, широко встречается в играх жанра стратегии в реальном времени. Поиск пути - это метод определения того, как заставить NPC перемещаться с одной точки карты в другую, учитывая местность, препятствия и возможно "туман войны".[14][15] Коммерческие видеоигры часто используют быстрое и простое "поиск пути на основе сетки", где местность отображается на жесткой сетке из однородных квадратов, и для сетки применяется алгоритм поиска пути, такой как A* или {{iw|IDA*|Iterative deepening A*]].[16][17][18] Вместо жесткой сетки некоторые игры используют нерегулярные многоугольники и составляют из областей карты, доступных для передвижения NPC, так называемую навигационную сетку[en].[16][19] As a third method, it is sometimes convenient for developers to manually select "waypoints" that NPCs should use to navigate; the cost is that such waypoints can create unnatural-looking movement. In addition, waypoints tend to perform worse than navigation meshes in complex environments.[20][21] Как третий метод, иногда разработчикам удобнее вручную выбирать "путевые точки", которые NPC должны использовать для навигации; недостатком этого является то, что такие точки могут создать неестественное движение. Кроме того, путевые точки обычно работают хуже, чем навигационные сетки в сложных средах. Кроме статического построения пути, навигация - это подразделение Игрового ИИ, фокусирующееся на предоставлении NPC способности перемещаться в динамической среде, нахождении пути к цели, избегая столкновений с другими сущностями (другие NPC, игроки...) или сотрудничая с ними (групповая навигация). Навигация в динамических стратегических играх с большим количеством юнитов, таких как Age of Empires (1997) или Civilization V (2010), часто работает плохо; юниты часто мешают друг другу.[21]

Вместо того чтобы улучшать Игровой ИИ для корректного решения трудной проблемы в виртуальной среде, часто более экономично просто изменить сценарий, чтобы он был более обрабатываемым. Если построение пути замедляется из-за конкретного препятствия, разработчик может просто подвинуть или удалить препятствие.[22] В игре Half-Life (1998), алгоритм построения пути иногда не мог найти разумный путь для всех NPC, чтобы уклониться от брошенной гранаты; вместо этого, чтобы позволять NPC пытаться нелепо выбраться из под удара и рискнуть выглядеть глупо, разработчики в этой ситуации запрограммировали NPC присесть и укрыться на месте.[23]

ИИ в бою в видеоиграх

Многие современные видеоигры относятся к категориям экшен, шутер от первого лица или приключения. В большинстве этих игр происходит какой-то уровень боя. Важность эффективности ИИ в бою большая в этих жанрах. Одна из общих целей сегодня - сделать ИИ более человеческим или по крайней мере создать такую иллюзию.

Одной из положительных и эффективных особенностей ИИ современных видеоигр является способность к "охоте". Изначально ИИ реагировал достаточно примитивно: если игрок находился в определенной зоне, то ИИ реагировал либо полностью агрессивно, либо полностью оборонительно. В последнее время было введено понятие "охоты"; в этом состоянии "охоты" ИИ будет искать реалистичные сигналы, такие как звуки, сделанные персонажем, или следы, которые он мог оставить.[24] Эти нововведения в конечном итоге позволяют сделать игровой процесс более сложным. С такими возможностями игроку приходится серьезно подумать о том, как подойти или избежать встречи с врагом. Такая особенность особенно характерна для жанра стелс.

Другим новшеством в ИИ последних игр стало развитие "инстинкта самосохранения". Компьютеры в игре могут распознавать различные объекты в окружающей среде и определять, являются ли они полезными или вредными для их выживания. Так же, как и игрок, ИИ может искать укрытие в перестрелке, прежде чем предпринимать действия, которые сделают его уязвимым, например, перезарядить оружие или бросить гранату. Могут быть определены маркеры, указывающие, когда и как следует реагировать. Например, если ИИ получает команду следить за своим здоровьем во время игры, то можно установить дополнительные команды, чтобы он реагировал определенным образом при определенном уровне здоровья. Если уровень здоровья опустится ниже определенного порога, ИИ можно настроить на бегство от игрока и избегание его до активации другой функции. Другой пример - если ИИ заметит, что у него нет патронов, он найдет объект укрытия и спрячется за ним, пока не перезарядится. Такие действия делают ИИ более похожим на человека. Однако в этой области все еще есть потребность в улучшениях.

Другой побочный эффект боевого ИИ возникает, когда два персонажа под управлением ИИ встречаются друг с другом; впервые это стало популярным в игре Doom от id Software - так называемые "бои монстров" могут начаться в определенных ситуациях. В частности, агенты ИИ, запрограммированные реагировать на враждебные атаки, иногда нападают друг на друга, если атаки их союзников слишком близко падают рядом с ними. В случае с Doom в опубликованных руководствах по игре даже предлагается воспользоваться преимуществом внутренних битв монстров, чтобы выжить на определенных уровнях и при определенных настройках сложности.

Процедурная генерация

Процедурная генерация (PCG) — это техника ИИ, позволяющая автономно создавать игровой контент с помощью алгоритмов с минимальным вводом от дизайнеров.[25] PCG обычно используется для динамической генерации игровых особенностей, таких как уровни, диалоги NPC и звуки. Разработчики вводят определенные параметры, чтобы направлять алгоритмы на создание контента для них. PCG предлагает многочисленные преимущества как с точки зрения разработки, так и с точки зрения игрового опыта. Игровые студии могут тратить меньше денег на художников и экономить время на производстве.[26] Игрокам предоставляется новый, высоко повторяемый опыт, поскольку игра генерирует новый контент каждый раз, когда они играют. PCG позволяет игровому контенту адаптироваться в реальном времени к действиям игрока.[27]

Процедурно сгенерированные уровни

Генеративные алгоритмы (первичная форма ИИ) использовались для создания уровней на протяжении десятилетий. Культовая компьютерная игра 1980 года в жанре передвижения по подземельям Rogue является фундаментальным примером. Игрокам поручается спуститься по все более сложным уровням подземелья, чтобы извлечь Амулет Йендора. Уровни подземелья генерируются алгоритмически в начале каждой игры. Файл сохранения удаляется каждый раз, когда игрок умирает.[28] Алгоритмическая генерация подземелий создает уникальный игровой процесс, которого не было бы в противном случае, поскольку цель извлечения амулета остается той же каждый раз.

Мнения относительно полной генерации уровней, как в играх вроде Rogue, могут различаться. Некоторые разработчики скептически относятся к качеству генерируемого контента и стремятся создать мир с более "человеческим" ощущением, поэтому они будут использовать PCG более осторожно.[25] В результате они будут использовать PCG только для генерации определенных компонентов иначе вручную созданного уровня. Заметным примером этого является тактический шутер Ubisoft 2017 года Tom Clancy's Ghost Recon Wildlands. Разработчики использовали алгоритм поиска пути, обученный на наборе реальных карт, чтобы создать дорожные сети, которые пронизывали бы вручную созданные деревни внутри игрового мира.[27] Это умное использование PCG, поскольку ИИ имел бы большое количество реальных данных для работы, и дороги легко создать. Однако, скорее всего, ИИ упустит нюансы и тонкости, если ему поручить создание деревни, где живут люди.

По мере того, как ИИ становится более продвинутым, цели разработчиков смещаются к созданию огромных репозиториев уровней из наборов данных. В 2023 году исследователи из Нью-Йоркского университета и Университета Витватерсранда обучили большую языковую модель для генерации уровней в стиле головоломки 1981 года Sokoban. Они обнаружили, что модель преуспела в генерации уровней с конкретно запрошенными характеристиками, такими как уровень сложности или компоновка.[29] Однако текущие модели, такие как использованная в исследовании, требуют больших наборов данных уровней для эффективности. Они пришли к выводу, что, хотя и многообещающе, высокая стоимость данных больших языковых моделей в настоящее время превышает преимущества для этого применения. Продолжающееся развитие в этой области, вероятно, приведет к более широкому использованию в будущем.

Процедурно сгенерированная музыка и звук

Музыкальное сопровождение видеоигры является важным выражением эмоционального тона сцены для игрока. Звуковые эффекты, такие как шум удара оружия по врагу, помогают указать на эффект действий игрока. Генерация этих эффектов в реальном времени создаёт захватывающий опыт для игрока, потому что игра более отзывчива к их вводу.[25] Пример – приключенческая игра 2013 года Proteus, где алгоритм динамически адаптирует музыку в зависимости от угла, под которым игрок смотрит на игровой пейзаж.[28]

Недавние прорывы в области ИИ привели к созданию продвинутых инструментов, способных создавать музыку и звук на основе развивающихся факторов с минимальным участием разработчиков. Одним из таких примеров является генератор музыки MetaComposure. MetaComposure – это эволюционный алгоритм, разработанный для создания оригинальных музыкальных композиций во время игры в реальном времени, чтобы соответствовать текущему настроению окружения.[30] Алгоритм способен оценить текущее настроение игрового состояния через "теги настроения". Исследования показывают, что существует значительная положительная статистическая корреляция касательно игрового вовлеченности игроков, оцененной ими самими, и динамически генерируемых музыкальных композиций, когда они точно соответствуют их текущим эмоциям.[31]

Метод поиска по дереву Монте-Карло

Искусственный интеллект в играх часто сводится к алгоритмам поиска пути и конечным автоматам. Поиск пути позволяет ИИ перемещаться из точки А в точку Б, обычно наиболее прямым способом. Конечные автоматы позволяют переключаться между различными поведенческими состояниями. Метод поиска по дереву Монте-Карло[en][32] обеспечивает более увлекательный игровой опыт, создавая дополнительные препятствия для игрока. MCTS представляет собой диаграмму-дерево, в рамках которой ИИ, по сути, играет в крестики-нолики. В зависимости от результата, он выбирает путь, ведущий к следующему препятствию для игрока. В сложных видеоиграх эти деревья могут иметь больше ветвей, если игрок может придумать несколько стратегий для преодоления препятствия. В исследовании этого 2022 года[33] вы можете узнать о недавних применениях алгоритма MCTS в различных игровых областях, таких как игры с совершенной информацией, стратегические игры (включая RTS), карточные игры и т.д.

Создание техники реплик и озвучки реплик

В контексте игровой индустрии одним из наиболее заметных приложений нейронных сетей является создание текстового контента, в частности, реплик неигровых персонажей (NPC). Традиционные шаблонные ответы NPC могут снижать вовлеченность игроков, тогда как нейросети способны генерировать оригинальные, живые фразы, постоянно совершенствуя свою эффективность и уместность в контексте игры.

Дальнейшим шагом после создания текста является его преобразование в звучащую речь с адекватной анимацией мимики персонажа. В этом ключе компания Nvidia предложила сервис ACE for Games, интегрирующий три специализированные ИИ-модели для обработки речи и анимации в играх: [34]

  1. Модель Nvidia NeMo отвечает за синтез речи персонажа, учитывая его бэкграунд и характеристики, при обучении используются уникальные наборы данных, подготовленные разработчиками.[34]
  2. Инструмент Nvidia Omniverse Audio2Face позволяет создавать анимацию лица персонажа, которая будет синхронизирована с его речью. Этот модуль включает коннекторы Omniverse для MetaHuman Animator – программы лицевой анимации, работающей с популярным игровым движком Unreal Engine 5.[34]
  3. Модель Nvidia Riva используется для распознавания голоса игрока и его трансформации в текст, что позволяет осуществлять взаимодействие с игровым искусственным интеллектом. Эта интелигентная система расширяет границы интерактивности и погруженности в игровом процессе, предоставляя возможности для более естественного и разнообразного общения с игровыми персонажами.[34]

Автоматизация квестовых заданий

В области видеоигр искусственные нейронные сети нашли применение в автоматизации создания квестовых заданий. Это относится, в частности, к текстовым ролевым играм, разработанным на базе систем обработки естественного языка, аналогичных ChatGPT. В таких играх участник начинает с определения стиля приключения и выбора типа игрового персонажа. Далее игрок словесно взаимодействует с игровым миром, описывая свои действия и реакции на сюжетные события. В ответ на описания пользователя нейронная сеть генерирует последовательность игровых событий и развитие сюжета.[34]

Примером популярного приложения в данной категории является игра "Al Dungeon", которая была выпущена в 2019 году и с тех пор скачана более 1 миллиона раз с Google Play.[34] Однако использование нейронных сетей в играх породило дискуссии касательно склонности некоторых приложений генерировать сексуализированный контент. Такие случаи могли возникнуть вследствие ориентации нейросети на данные и предпочтения широкой пользовательской базы или из-за особенностей её обучения, что указывает на необходимость тщательного контроля над учебным материалом и входящими данными, используемыми для обучения ИИ.[34]

Применения в играх помимо NPC

Академический ИИ может играть роль в искусственном интеллекте игр, выходя за рамки традиционных задач управления поведением NPC. Георгиос N. Яннакакис выделил четыре потенциальные области применения:[35]

  1. Моделирование игрового опыта: понимание способностей и эмоционального состояния игрока, чтобы соответствующим образом адаптировать игру. Это может включать динамическую балансировку сложности игры[en], которая состоит в регулировании сложности видеоигры в режиме реального времени на основе способностей игрока. Игровой ИИ также может помочь вывести намерения игрока (такие как распознавание жестов).
  2. Процедурная генерация: создание элементов игровой среды, таких как погодные условия, уровни и даже музыка автоматизированным способом. Методы ИИ могут генерировать новый контент или интерактивные истории.
  3. Добыча данных о поведении пользователей: это позволяет разработчикам игр исследовать, как люди используют игру, какие части они играют больше всего и что заставляет их перестать играть, позволяя разработчикам настраивать игровой процесс или улучшать монетизацию.
  4. Альтернативные подходы к NPC: это может включать изменение настроек игры для улучшения достоверности NPC и изучение социального, а не индивидуального поведения NPC.

Вместо процедурной генерации некоторые исследователи использовали генеративные состязательные сети (ГСС), чтобы создавать новый контент. В 2018 году исследователи из Корнуольского университета[en] обучили ГСС на тысяче уровней, созданных людьми, для Doom; после обучения прототип нейронной сети мог самостоятельно разрабатывать новые играбельные уровни. Аналогичным образом исследователи из Калифорнийского университета создали прототип ГСС для генерации уровней для Super Mario.[36] В 2020 году Nvidia представила клон Pac-Man, созданный ГСС; ГСС научилась воссоздавать игру, наблюдая за 50 000 (в основном сгенерированными ботами) прохождениями.[37]

Читерский ИИ

В играх, в которых важен творческий потенциал игрока, ИИ не может сражаться на равных с человеком. Чтобы уравнять шансы, применяют читерский, или обманный ИИ.

Обманный ИИ компенсирует отсутствие стратегического мышления какими-либо другими преимуществами над игроком. Например: большее количество жизней, более быстрое передвижение или игнорирование тумана войны[38]. Понятие «читерский» употребляется только по отношению к привилегиям искусственного характера: так, нечеловеческая реакция, стремительность и точность, свойственная компьютерам, читерством не считается[38].

Цитата

Читить можно, но незаметно. Лучше сделать много маленьких читов, чем один большой.

Тимур Бухараев, Nival[1]

Конечно, компьютер всегда имеет преимущество над человеком — человеку приходится полагаться на зрение и слух с их ограничениями, в то время как компьютер имеет прямой (хоть и ограниченный) доступ к абстракциям движка. «Истинный» игровой ИИ должен иметь и использовать алгоритмы визуальной обработки, однако воссоздание человеческого зрения в настоящее время является недостижимой целью для систем машинного зрения.

Ниже приведён один общий пример читерского игрового ИИ, который присутствует во многих гоночных играх. Если ИИ-игрок достаточно сильно отстаёт от основной массы гонщиков, он внезапно получает огромное увеличение скорости или другие параметры, позволяющие ему нагнать других гонщиков и снова стать конкурентоспособным соперником. Этот метод известен как «метод резиновой нити» (en:Rubber banding) или Catch-Up, потому что он позволяет ИИ-персонажу немедленно вернуться назад в конкурентоспособную позицию. Подобный метод также используется в таких спортивных играх, как серия «Madden NFL». В более продвинутых играх конкурентоспособность неигровых персонажей или ботов может быть достигнута благодаря динамическому игровому балансированию, который можно считать более справедливым, хотя всё ещё техническим обманом, так как ИИ-игроки всё ещё получают преимущества, даже при том, что они соблюдают правила виртуального мира.

Сражение нескольких NPC между собой

Сражение нескольких ИИ-персонажей (ботов, NPC) между собой (англ. AI infighting, monster infighting) является термином, популяризированным шутерами от первого лица, такими, как Doom, выпущенными в 1990-х годах. Это явление происходит, когда двое или более персонажей, управляемых компьютером, случайно атакуют один другого и затем принимают ответные меры, вызывая череду взаимных атак. Это может быть достигнуто наиболее легко перемещением игрового персонажа так, чтобы он временно находился на одной линии с двумя противниками. При такой ситуации один бот будет атаковать игрока независимо от того, находится ли его союзник, другой бот, на линии огня, — перед или позади намеченной цели, — таким образом он подвергает своего компаньона дружественному огню. ИИ-персонаж, которого атаковал другой ИИ-персонаж по ошибке, наиболее часто поменяет свой статус относительно атакующего на «враждебный» и будет его атаковать в ответ, возможно, заставляя этим других ботов атаковать себя.

Это явление приносит пользу игроку двумя способами: сокращает количество врагов, нападающих на игрока и позволяет игроку экономить боеприпасы, очки магии и очки жизни. Дружественный огонь ботов стал новым аспектом игры Doom, вводя этот аспект в другие шутеры от первого лица. Однако, в наиболее новых шутерах от первого лица, боты и NPC не программируются, чтобы принимать ответные меры, если по ним совершен дружественный огонь другими ИИ-персонажами.

Примечания

  1. 1,0 1,1 Тимур Бухараев. Искусственный интеллект в Heroes of Might and Magic V. Gamer.ru (29 сентября 2006). Дата обращения: 21 января 2010.
  2. Боты OpenAI выиграли 99.4% матчей против людей
  3. Jack Copeland. A Brief History of Computing (англ.). AlanTuring.net (июнь 2000). Дата обращения: 13 февраля 2018.
  4. Crevier, 1993, p. 58.
  5. McCorduck, 2004, pp. 480—483.
  6. Schwab, 2004, pp. 97—112.
  7. Владимир Горячев. Рецензия на F.E.A.R.. Absolute Games (24 октября 2005). Дата обращения: 15 марта 2009.
  8. Виталий Казунов (Lockust). S.T.A.L.K.E.R.: Чистое небо - интервью о проблемах выживания искусственного интеллекта в Чернобыльской Зоне. GameTech (13 июня 2008). — Интервью с Дмитрием Ясеневым, главным разработчиком игрового ИИ в игре. Дата обращения: 14 мая 2009.
  9. Left 4 Dead (англ.). Valve Corporation. Архивировано 18 ноября 2008 года.
  10. Left 4 Dead Hands-on Preview (англ.). Left 4 Dead 411. Архивировано 27 марта 2012 года.
  11. Gabe Newell. Gabe Newell Writes for Edge (англ.). edge-online.com (21 ноября 2008). — «The events are trying to give them a sense of narrative. We look at sequences of events and try to take what their actions are to generate new sequences. If they’ve been particularly challenged by one kind of creature then we can use that information to make decisions about how we use that creature in subsequent encounters. This is what makes procedural narrative more of a story-telling device than, say, a simple difficulty mechanism». Дата обращения: 22 ноября 2008. Архивировано 6 января 2009 года.
  12. Skyrim mod makes NPC interactions less scripted, more Sims-like, Polygon (5 August 2017).
  13. Lara-Cabrera, R., Nogueira-Collazo, M., Cotta, C., & Fernández-Leiva, A. J. (2015). Game artificial intelligence: challenges for the scientific community.
  14. Yannakakis, G. N. (2012, May). Game AI revisited. In Proceedings of the 9th conference on Computing Frontiers (pp. 285–292). ACM.
  15. Hagelback, Johan, and Stefan J. Johansson. "Dealing with fog of war in a real-time strategy game environment." In Computational Intelligence and Games, 2008. CIG'08. IEEE Symposium On, pp. 55-62. IEEE, 2008.
  16. 16,0 16,1 (2015) «A Comprehensive Study on Pathfinding Techniques for Robotics and Video Games». International Journal of Computer Games Technology 2015: 1–11. doi:10.1155/2015/736138.
  17. Yap, Peter. "Grid-based path-finding." In Conference of the Canadian Society for Computational Studies of Intelligence, pp. 44-55. Springer, Berlin, Heidelberg, 2002.
  18. (June 2012) «Benchmarks for Grid-Based Pathfinding». IEEE Transactions on Computational Intelligence and AI in Games 4 (2): 144–148. doi:10.1109/TCIAIG.2012.2197681.
  19. Goodwin, S. D., Menon, S., & Price, R. G. (2006). Pathfinding in open terrain. In Proceedings of International Academic Conference on the Future of Game Design and Technology.
  20. Nareyek, A. (2004). AI in computer games. Queue, 1(10).
  21. 21,0 21,1 Cui, X., & Shi, H. (2011). A*-based pathfinding in modern computer games. International Journal of Computer Science and Network Security, 11(1), 125-130.
  22. Design Techniques and Ideals for Video Games, Byte Magazine (1982), С. 100.
  23. Lidén, L. (2003). Artificial stupidity: The art of intentional mistakes. AI game programming wisdom, 2, 41-48.
  24. Schreiner, Tim. "Artificial Intelligence in Game Design." Artificial Intelligence Depot. Web. 19 November 2009. AI-depot.net Архивировано 10 августа 2011 года.
  25. 25,0 25,1 25,2 Todd, Graham. Level Generation Through Large Language Models // Proceedings of the 18th International Conference on the Foundations of Digital Games / Graham Todd, Sam Earle, Muhammad Umair Nasir … [и др.]. — 2023. — P. 1–8. — ISBN 978-1-4503-9855-8. — doi:10.1145/3582437.3587211.
  26. R. van der Linden, R. Lopes and R. Bidarra, "Procedural Generation of Dungeons," in IEEE Transactions on Computational Intelligence and AI in Games, vol. 6, no. 1, March 2014, pp. 78-89. doi: 10.1109/TCIAIG.2013.2290371.
  27. 27,0 27,1 Seidel, S., et al. "Artificial Intelligence and Video Game Creation: A Framework for the New Logic of Autonomous Design." Journal of Digital Social Research, vol. 2, no. 3, Nov. 2020, pp. 126–157. doi:10.33621/jdsr.v2i3.46.
  28. 28,0 28,1 Liapis, Antonios. Artificial Intelligence for Designing Games // Artificial Intelligence and the Arts. — 2021. — P. 277–310. — ISBN 978-3-030-59474-9. — doi:10.1007/978-3-030-59475-6_11.
  29. Graham Todd, Sam Earle, Muhammad Umair Nasir, Michael Cerny Green, and Julian Togelius. 2023. Level Generation Through Large Language Models. In Foundations of Digital Games 2023 (FDG 2023), April 12–14, 2023, Lisbon, Portugal. ACM, New York, NY, USA, 9 pages. doi:10.1145/3582437.3587211.
  30. Scirea, Marco, et al. "Affective Evolutionary Music Composition with MetaCompose." Genetic Programming and Evolvable Machines, vol. 18, no. 4, December 2017, pp. 433–465. doi:10.1007/s10710-017-9307-y.
  31. Scirea, Marco, et al. "Evolving In-Game Mood-Expressive Music with MetaCompose." Proceedings of the Audio Mostly 2018 on Sound in Immersion and Emotion (AM '18), Association for Computing Machinery, 2018, Article 8, pp. 1-8. doi:10.1145/3243274.3243292.
  32. Statt, Nick HOW ARTIFICIAL INTELLIGENCE WILL REVOLUTIONIZE THE WAY VIDEO GAMES ARE DEVELOPED AND PLAYED (9 March 2019). Дата обращения: 23 февраля 2020.
  33. (2022) «Monte Carlo Tree Search: a review of recent modifications and applications». Artificial Intelligence Review 56 (3): 2497–2562. arXiv:2103.04931. doi:10.1007/s10462-022-10228-y.
  34. 34,0 34,1 34,2 34,3 34,4 34,5 34,6 Игры с разумом: как разработчики применяют нейросети в гейм-индустрии Журнал TechInsider
  35. Yannakakis, Geogios N. Game AI revisited // Proceedings of the 9th conference on Computing Frontiers. — 2012. — P. 285–292. — ISBN 9781450312158. — doi:10.1145/2212908.2212954.
  36. AI creates new levels for Doom, BBC News (8 May 2018).
  37. Nvidia's AI recreates Pac-Man from scratch just by watching it being played (англ.), The Verge (22 May 2020).
  38. 38,0 38,1 Scott, 2002, pp. 19–20.

Литература

  • Bourg; Seemann (2004). AI for Game Developers. O’Reilly & Associates. ISBN 0-596-00555-5.
  • Buckland (2002). AI Techniques for Game Programming. Muska & Lipman. ISBN 1-931841-08-X.
  • Buckland (2004). Programming Game AI By Example. Wordware Publishing. ISBN 1-55622-078-2.
  • Champandard (2003). AI Game Development. New Riders. ISBN 1-59273-004-3.
  • Funge (1999). AI for Animation and Games: A Cognitive Modeling Approach. A K Peters. ISBN 1-56881-103-9.
  • Funge (2004). Artificial Intelligence for Computer Games: An Introduction. A K Peters. ISBN 1-56881-208-6.
  • Millington (2005). Artificial Intelligence for Games. Morgan Kaufman. ISBN 0-12-497782-0.
  • Smed and Hakonen (2006). Algorithms and Networking for Computer Games. John Wiley & Sons. ISBN 0-470-01812-7.
  • Brian Schwab. AI Game Engine Programming. — Charles River Media, 2004. — 624 p. — (Game Programming Series). — ISBN 1-58450-344-0.
  • Pamela McCorduck. Machines Who Think. — 2nd edition. — Natick, MA: A. K. Peters, Ltd., 2004. — ISBN 1-56881-205-1.
  • Daniel Crevier. AI: The Tumultuous Search for Artificial Intelligence. — New York, NY: BasicBooks, 1993. — ISBN 0-465-02997-3.
  • Bob Scott. The Illusion of Intelligence // AI Game Programming Wisdom / editor Steve Rabin. — Charles River Media, 2002.

Ссылки